// pages/project_list/index.js
import API from "../../api/index";
import {
  getDate
} from '../../utils/common'
const app = getApp()
Page({

  /**
   * 页面的初始数据
   */
  data: {
    date:'',//今天日期
    showmore:false,//显示没有更多
    total:0,//总条数
    start:0,//从第几条开始
    count:5,//	显示条数
    level:'',//level=='root'||level=='user'就有管理员权限
    navbarData:{
      showCapsule:1,//是否显示右上角图标 1表示显示 0表示不显示
      title:'项目列表',//标题
      logo:''
    },
    tab:['全部','未开始','进行中','已结束'],
    tabIndex:0,
    projectType:['全部项目','工作项目','学习项目'],//项目类型
    projectTypeIndex:0,//项目类型选中下标
    projectTypeStatus:false,//项目类型弹出层状态
    projectList:[],
    addData:{//新增项目
      id:'',//修改时的项目id
      updateStatu:false,//是否修改
      addStatus:false,//新增
      addValue:'',//input新增任务名称
      //项目类型
      projectType:['学习项目','工作项目'],
      projectIndex:-1,//选择项目类型选中的下标
      projectStatus:false,//选择项目类型弹出层状态
      //项目进度
      schedule:['未开始','进行中','已结束'],
      scheduleIndex:0,
      scheduleStatus:false,//项目进度弹出层状态
      //项目标签色
      colorList:[
        {name:'红色',color:'#ff5656',backgroundcolor:'rgba(255,86,86,0.2)'},
        {name:'橙色',color:'#f45f04',backgroundcolor:'rgba(244,95,4,0.2)'},
        {name:'黄色',color:'#ffe61f',backgroundcolor:'rgba(255,230,31,0.2)'},
        {name:'绿色',color:'#06de72',backgroundcolor:'rgba(6,222,114,0.2)'},
        {name:'青色',color:'#08f5ea',backgroundcolor:'rgba(8,245,234,0.2)'},
        {name:'蓝色',color:'#6dadff',backgroundcolor:'rgba(109,173,255,0.2)'},
        {name:'紫色',color:'#d6a9ff',backgroundcolor:'rgba(214,169,255,0.2)'},
        {name:'洋红',color:'#ff86da',backgroundcolor:'rgba(255,134,218,0.2)'},
      ],
      colorIndex:1,//选择项目类型选中的下标
      colorStatus:false,//选择项目类型弹出层状态
    }
  },
  toggle(e){
    console.log(e.currentTarget.dataset.index)
    this.setData({tabIndex:e.currentTarget.dataset.index})
    //获取项目列表
    this.onPullDownRefresh()
  },
    //项目类型弹出层状态
    typeToggle(){
      this.setData({projectTypeStatus:!this.data.projectTypeStatus})
    },
    close(){
      if(this.data.projectTypeStatus){
        this.setData({projectTypeStatus:false})
      }
    },
    //项目类型选中
    projectTypeSelect(e){
      this.setData({projectTypeIndex:e.currentTarget.dataset.index})
    //获取项目列表
    this.onPullDownRefresh()
    },
    //新增关闭弹出层
  addPopup:function(){
    this.setData({['addData.addStatus']: false,['addData.addValue']:'',['addData.projectIndex']:-1,['addData.updateStatu']:false})
  },
  //新增开启弹出层
  addshow:function(){
    this.setData({['addData.addStatus']: true})
  },
  //新增开启弹出层
  updateshow:function(e){
    if(this.data.level=='root' || this.data.level=='user'){
      let obj = e.currentTarget.dataset.obj
      this.data.addData.colorList.forEach((element,index) => {
        
        if(element.name==obj.tag){
        this.setData({['addData.colorIndex']:index})
        }
       });
      this.setData({
        ['addData.addValue']:obj.title,
        ['addData.updateStatu']:true,
        ['addData.id']:obj.id,
        ['addData.scheduleIndex']:obj.status==2?2:obj.status==3?1:0, //：0-全部，1-未开始，2-已结束，3-进行中
        ['addData.projectIndex']:obj.type==1?1:obj.type==2?0:-1,//0-全部，1-工作项目，2-学习项目
      })
      this.setData({['addData.addStatus']: true})
    }
  },
  bindaddInput:function(e){
    this.setData({
      ['addData.addValue']:e.detail.value
    })
  },
  addSubmit(e){
    let { addValue,projectIndex,scheduleIndex,colorList,colorIndex,id} = this.data.addData
    let obj={
      title:addValue,//标题
      type:projectIndex==1?1:2, //类型：1-工作项目，2-学习项目
      status:scheduleIndex==0?1:scheduleIndex==1?3:2, //1-未开始，2-已结束，3-进行中
      tag:colorList[colorIndex].name,
      color:colorList[colorIndex].color,
      backgroud_color:colorList[colorIndex].backgroundcolor
    }
    if(this.data.addData.updateStatu===true){
      API.updateProject(id,obj).then(res=>{
        this.setData({['addData.updateStatu']:false,['addData.id']:''})
        this.addPopup()
        setTimeout(() => {
          this._projectList()
        }, 1000);
      })
    }else{
      if(this.data.addData.addValue!=''&&this.data.addData.projectIndex>-1){
        API.newProject(obj).then(res=>{
          setTimeout(() => {
            //获取项目列表
            this.onPullDownRefresh()
          }, 1000);
        })
        this.addPopup()
    }
   
    }
  },
  //关闭弹出层
  commonPopup(e){
    //projectType-项目类型选中，schedule- 项目进度
    if(e.currentTarget.dataset.type=='projectType'){
      this.setData({['addData.projectStatus']:!this.data.addData.projectStatus})
    }else if(e.currentTarget.dataset.type=='schedule'){
      this.setData({['addData.scheduleStatus']:!this.data.addData.scheduleStatus})
    }else if(e.currentTarget.dataset.type=='colorList'){
      this.setData({['addData.colorStatus']:!this.data.addData.colorStatus})
    }
    this.setData({['addData.addStatus']: !this.data.addData.addStatus})
  },
  //选中
  Select(e){
    //projectType-项目类型选中，schedule- 项目进度
    console.log('-----')
    if(e.currentTarget.dataset.type=='projectType'){
      this.setData({['addData.projectIndex']:e.currentTarget.dataset.index})
      this.setData({['addData.projectStatus']:!this.data.addData.projectStatus})
    }else if(e.currentTarget.dataset.type=='schedule'){
      this.setData({['addData.scheduleIndex']:e.currentTarget.dataset.index})
      this.setData({['addData.scheduleStatus']:!this.data.addData.scheduleStatus})
    }else if(e.currentTarget.dataset.type=='colorList'){
      this.setData({['addData.colorIndex']:e.currentTarget.dataset.index})
      this.setData({['addData.colorStatus']:!this.data.addData.colorStatus})
    }
    this.setData({['addData.addStatus']: !this.data.addData.addStatus})
  },
  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function (options) {
    if(wx.getStorageSync('access_token') ==''){
      wx.navigateTo({
        url:  "/pages/login/index",
      })
    }else{
      this.setData({
        level:app.globalData.userInfo!=null?app.globalData.userInfo.groups[0].level:''
      })
    }
  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady: function () {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow: function () {
    let date = getDate(2)
    this.setData({ date: date })
    //获取项目列表
    this._projectList()
  },
  _projectList(){
    let {start,count,projectTypeIndex,tabIndex,projectList} = this.data
    let obj = {
      start:start,//从第几条开始
      count:count,//显示条数
      type:projectTypeIndex,//项目类型：0-全部，1-工作项目，2-学习项目
      status:tabIndex==2?'3':tabIndex==3?'2':tabIndex,//状态：0-全部，1-未开始，2-已结束，3-进行中	
      is_select:false//true-选择项目，false-项目列表
    }
    API.projectList(obj).then(res=>{
        console.log(res)
        this.setData({
          projectList:[...(start == 0 ? [] : projectList),...res.data.items],
          total:res.data.total
        })
        this.setData({showmore:this.data.projectList.length<this.data.total?false:true})
       
    })
  },
  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide: function () {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload: function () {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh: function () {
    this.setData({start:0})
    this._projectList()
    setTimeout(function(){
      wx.stopPullDownRefresh()
    },1000)
  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom: function () {
    this.setData({start:this.data.projectList.length})
    if(this.data.projectList.length<this.data.total){
      this.setData({showmore:false,start:this.data.projectList.length})
      this._projectList()
    }else{
      this.setData({showmore:true})
    }
  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage: function () {

  }
})